package com.bilibili.java.books.service.impl;

import java.util.Date;

import com.bilibili.java.books.bean.User;
import com.bilibili.java.books.dao.UserDao;
import com.bilibili.java.books.dao.impl.UserDaoImpl;
import com.bilibili.java.books.service.UserService;
/**
 * 实现层
 *
 *
 */
public class UserServiceImpl implements UserService{

	UserDao dao=new UserDaoImpl();
	/**
	 * 账号登陆的方法
	 */
	public String userLogin(User user) {
		
		User u=dao.userLogin(user);
		
		
		if(u==null) {
			
			return "账号不存在";
		}
		if(u.getPwd().equals(user.getPwd())) {
			
			return "登录成功";
		}
		
		
		return "密码错误";
		
		
	}
	/**
	 * 手机号验证码发送
	 */
	public String phoneVerify(String phone) {
		
		return dao.phoneVerify(phone);
	}
	
	/**
	 * 手机查询账户
	 * @param phone
	 * @return
	 */
	public String phoneQuery(User user) {
		User u= dao.phoneQuerya(user.getPhone());
		if(u==null) {
			return "账户不存在";
		}
		
		if(!u.getVeriCode().equals(user.getVeriCode())) {
			
			return "验证码错误";
		}
		if(new Date().getTime()>u.getDeadline().getTime()) {
			
			return "验证码已过期，请重新发送";
		}
		
		
		
		return "登录成功";
		
	}
	
	/**
	 * 验证手机号是否存在
	 */
	public String queryPhone(String phone) {
		User u= dao.phoneQuery(phone);
		
		if(u!=null) {
			
			return "手机号已存在";
		}
		
		return "手机可以注册";
		
		
	}
	/**
	 * 查询账户是否存在
	 */
	public String queryUser(String account) {
		User user=new User();
		user.setAccount(account);
		User u=dao.userLogin(user);
		
		if(u!=null) {
			
			return "账户已存在";
		}
		
		
		
		return "可以注册";
		
	}
	/**
	 * 新增账户
	 */
	public String userRegister(User user) {
		if(dao.phoneQuery(user.getPhone())!=null){
			return "注册失败";
		}
		int count=dao.userRegister(user);
		
		if(count==0) {
			
			return "注册失败";
		}
		
		
		return "注册成功";
	}
	
	/**
	 * 查询账户信息
	 */
	public User getUser(User user){
		
		if(user.getAccount()==null){
			
			return dao.phoneQuery(user.getPhone());
			
		}else{
		
			return dao.userLogin(user);
		}
	}
	
}
